﻿using System;
using Pay.TO;
using Newtonsoft.Json;

namespace Pay.DTO {
	/// <summary>
	/// 账单查询
	/// </summary>
	[JsonObject(MemberSerialization.OptOut)]
	public class BillQuery : PageQuery {
		public BillQuery() { }
		/// <summary>
		/// 商户id
		/// </summary>
		[JsonIgnore]
		public long? merchant_id { get; set; }
		/// <summary>
		/// 通道
		/// </summary>
		public PayChannel pay_channel { get; set; }
		/// <summary>
		/// 订单号
		/// </summary>
		public string order_no { get; set; }
		/// <summary>
		/// 账单类型
		/// </summary>
		public BillType bill_type { get; set; }
		/// <summary>
		/// 状态：1进行中(收入待确认、退款中、提现申请)，2完成
		/// <para>相对billtype，收款：1待发货，2完成；</para>
		/// <para>提现：1提现中，2完成</para>
		/// <para>退款：1待退款，2完成</para>
		/// <para>支付：2完成</para>
		/// </summary>
		public BillStatus status { get; set; }
		/// <summary>
		/// 开始日期:yyyy-mm-dd
		/// </summary>
		public string start_date { get; set; }
		/// <summary>
		/// 结束日期:yyyy-mm-dd
		/// </summary>
		public string end_date { get; set; }
		/// <summary>
		/// 账户
		/// </summary>
		public string mobile { get; set; }
		/// <summary>
		/// 账单id
		/// </summary>
		public long bill_id { get; set; }
	}

	[JsonObject(MemberSerialization.OptOut)]
	public class BillQueryEx : PageQuery {
		public BillQueryEx() { }
		/// <summary>
		/// oem商户id
		/// </summary>
		[JsonIgnore]
		public long merchant_id { get; set; }
		/// <summary>
		/// 账户
		/// </summary>
		public string mobile { get; set; }
		/// <summary>
		/// 姓名
		/// </summary>
		public string name { get; set; }
		/// <summary>
		/// 商户号
		/// </summary>
		public string merchant_no { get; set; }
		/// <summary>
		/// 是否OEM
		/// </summary>
		public bool is_oem { get; set; }
	}
    /// <summary>
    /// token 提现查询
    /// </summary>
    [JsonObject(MemberSerialization.OptOut)]
    public class TokenTansferQuery:PageQuery {
        public string name { get; set; }
        public DateTime? start_time { get; set; }
        public DateTime? end_time { get; set; }
        public int? status { get; set; }
        /// <summary>
        /// 1 提现审核 2 提现打款
        /// </summary>
        public int? type { get; set; }
    }
}
